package com.wechat.service;

import java.util.List;
import java.util.concurrent.CompletableFuture;

import com.wechat.dto.ChatAddContactsDTO;
import com.wechat.dto.ChatDTO;
import com.wechat.dto.ContactDTO;

public interface ChatServiceAsync {
	CompletableFuture<ChatDTO> get(String id);

	CompletableFuture<ChatDTO> lock(String id);

	CompletableFuture<Integer> delete(ChatDTO chat);

	CompletableFuture<List<ChatDTO>> list();

	CompletableFuture<ChatDTO> create(ChatAddContactsDTO addContacts);

	CompletableFuture<ChatDTO> create(ContactDTO contact);

	CompletableFuture<ChatDTO> create(ChatDTO chat);

	CompletableFuture<Integer> unreads();
	
	CompletableFuture<ChatDTO> updateFlag(ChatDTO chat);
}
